Disc drives are commonly used in workstations, personal computers, laptops and other computer systems to store large amounts of data in a form that can be made readily available to a user. Such drives store and retrieve data using one or more magnetizable discs that are rotated at a constant high speed by a spindle motor. Each of the discs has a magnetizable surface coating that can be selectively magnetized by a corresponding read/write head so that the data is stored in the form of magnetic flux transitions along defined data tracks on the surface of the disc.
The heads are typically suspended over the discs and positionably controlled with respect to the tracks on the discs through the use of a rotary actuator assembly and a servo loop. The servo loop obtains position information from servo fields on the discs and, in response thereto, corrects the radial position of the heads through application of current to an actuator coil. The coil is part of a voice coil motor, which as will be recognized comprises one or more permanent magnets which establish a magnetic field through which the coil moves; the magnetic interaction between the magnetic field of the permanent magnets and magnetic fields established in the coil as a result of the coil current causes the rotary actuator to position the heads as desired over the surfaces of the discs.
Heads can be of a variety of constructions, including thin film and magneto-resistive (MR). Both of these well known types of heads generally write data to a corresponding disc through the application of a write current of a selected duration, magnitude and direction to a write element of the head, the write element including a magnetic coil with a relatively small air gap. The gap, disposed in close proximity to the surface of the rotating disc, selectively magnetizes the disc as a result of the magnetic fields established across the gap in response to the write current. The approaches taken by thin film heads and MR heads to read data from the disc, however, are rather different. A thin film head senses magnetic transitions from a gap of a read element (which may or may not be the same as the write element) and outputs a read signal indicative of the selective changes in magnetization of the selected data track being read; an MR head, on the other hand, typically includes a magneto-resistive element characterized in that the presence of a magnetic field of a particular orientation changes the nominal dc resistance of the MR-element. Thus, variations in the magnitude of a predetermined read current passed through the MR-element during a read operation are taken as resulting from the interaction between the MR-element and flux transitions on the disc and such variations are translated into a read signal.
A read channel is typically provided to convert the read signal obtained from a selected head to the user data which was originally stored on the selected track. Such read channels are well known and can utilize a variety of signal processing techniques, including peak detection and partial response, maximum-likelihood (PRML) processing. To ensure reliable storage and retrieval operations by the disc drive, the user data is typically encoded with run length limited (RLL) and error correction codes (ECC) before being serially written to disc. As will be recognized, RLL encoding is provided to ensure the generation of appropriate read timing windows for the read channel and ECC is used to detect and correct up to a selected number of errors in the retrieved sequence. Thus, typical read channel operation includes RLL decoding and ECC operations upon the retrieved read signal in order to ultimately reconstruct the user data.
Error correction codes are a powerful tool for extracting the correct data from the disc in the presence of noise in the read channel and micro-defects in the magnetic media. Each type of code, however, has a finite probability of passing undetected erroneous data, either because the error pattern was not detected by the code, or because the code miscorrected the error. In each of these cases, the size of the error pattern will have generally exceeded some explicit threshold, the value of which is a parameter of the particular ECC employed. The probability of passing undetected erroneous data is a function of the error rate of the data provided to the portion of the channel performing the ECC operation. For more background concerning general ECC techniques, see U.S. Pat. No. 5,276,662 issued Jan. 4, 1994 to Shaver et al., as well as U.S. patent application Ser. No. 08/393,431 filed Feb. 23, 1995 by Deng et al. Both of these references are assigned to the assignee of the present invention.
ECC is typically used during normal operation of the read channel, but not during read error recovery operations out of a concern that such read error recovery operations might result in a degraded error rate. For example, it is common for a disc drive upon the detection of an erroneous, uncorrectable sequence in the retrieved data, to enter a read error recovery mode wherein the data is reread from the disc and various corrective actions are sequentially applied in an attempt to resolve the error. One such corrective action involves the application of a track offset, wherein the data head is offset from track center by a selected percentage of the total track width (for example, +10%). This technique can be helpful in resolving the error if the data was accidentally written off of track center, if a media defect is located at the edge of the data track, or if adjacent track data encroaches into one side of the target data. Because error rates generally degrade as the heads are moved away from the written center of the track, ECC has historically not been applied while reading data with track offsets for fear of operating in a region with an unacceptable probability of passing undetected erroneous data. Other corrective actions wherein it has been historically undesirable to apply ECC include changes in gain, timing and weight thresholds used by various components in the read channel.
There is a need, therefore, for an improved approach to recovering from read errors in a read channel which facilitates the use of ECC during the read recovery process in combination with corrective actions which typically have the potential of degrading the overall read error rate below acceptable limits for the ECC.